# -*- coding: utf-8 -*-
"""
Created on Mon Sep 24 20:52:11 2018

@author: cheny
"""

#list
#创建空列表
l1 = []
print(type(l1))
l2 = list()

l3 = [100,200,300,304,355,401,77] #创建带值的列表
print(l3) #打印出列表值

#通过下标访问
print(l3[2])

#分片访问，默认步长为1，实际上生成了一个新的list
print(l3[1:4])
#分片左右都可以不写(含左不含右)
print(l3[:])
print(l3[:3])
print(l3[4:])

#步长为2
print(l3[2:5:2]) #第三个参数为步长

#下标可以超出范围
print(l3[-6:20])  #没有问题，照样能打印出list内容，超出部分不打印内容
#print(l3[12])  #这样会报错：越界
#负数表示从右往左，最大为-1
print(l3[-5:-2])
print(l3[5:2]) #这么不会报错，但是打不出内容
print(l3[5:2:-1]) #把步长变成-1即可倒着输出

a = 10
b = a
c = 10
print (a is b)
print (c is a)

print(id(a))
print(id(b))
print(id(c))

a = 100
print(a)
print(b)
print(c)

print(id(a))
print(id(b))
print(id(c))
print(id(10))

l = [1,2,3,4,5,6,7]
ll = l[:]
lll = [1,2,3,4,5,6,7]
lll2 = lll

l[2] = 100
lll[2] = 100
print(l)
print(ll)
print(lll)
print(lll2)
print("*"*20)
print(id(l))
print(id(ll))
print(id(lll))
print(id(lll2))

l[2] = 100
lll[2] = 100





